home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / demos / 32 / mailadd.cmd < prev    next >
Encoding:
Text File  |  1986-07-17  |  3.4 KB  |  130 lines

  1. SET TALK OFF
  2. * MAILADD.PRG 
  3. * 2-22-86
  4. *
  5. * ADDS A RECORD TO MAILLIST.DBF
  6. *******
  7. * FILES
  8. *******
  9. USE MAILLIST INDEX MAILNAME,MAILCOMP,MAILZIP
  10. DO WHILE T
  11. *************
  12. *DEFINE VARIABLES
  13. *************
  14. STORE T TO Y.RECBAD  | MAIN LOOP
  15. *
  16. STORE T TO Y.NOANSWER | CHECK ANSWER LOOPS
  17. STORE ' ' TO Y.OK | CHECKANSWER VARIABLE
  18. *
  19. STORE 1 TO Y.READNO | GET NUMBER OFFSET FOR READ 
  20. X.ADD = T | THIS IS THE ADD PROGRAM
  21. *
  22. STORE SPACE(10) TO Y.FIRST_NAME
  23. STORE SPACE(20) TO Y.LAST_NAME,Y.CITY
  24. STORE SPACE(40) TO Y.COMPANY,Y.ADDRESS1,Y.ADDRESS2
  25. STORE SPACE(2) TO Y.STATE
  26. STORE SPACE(5) TO Y.ZIP
  27. STORE SPACE(12) TO Y.PHONE
  28. *
  29. ERASE
  30. DO WHILE Y.RECBAD
  31.     ************
  32.     * PAINT SCREEN
  33.     ************
  34.     ERASE
  35.     &SAYNORMAL
  36.     @ 00,00 SAY CENTER('MAIL LIST ADD RECORD',79)
  37.     @ 01,00 SAY CENTER('F2=HELP  F3=QUIT  F7=SAVE  F8=ERASE',79)
  38.     @ 05,00 SAY 'NAME     :' GET Y.FIRST_NAME PICTURE DUPCHAR(33,10)
  39.     @ ROW(),COL()+5 SAY 'LAST NAME :' GET Y.LAST_NAME PICTURE DUPCHAR(33,20)
  40.     @ 07,00 SAY 'COMPANY  :' GET Y.COMPANY PICTURE DUPCHAR(33,40)
  41.     @ 09,00 SAY 'ADDRESS1 :' GET Y.ADDRESS1 PICTURE DUPCHAR(33,40)
  42.     @ 11,00 SAY 'ADDRESS2 :' GET Y.ADDRESS2 PICTURE DUPCHAR(33,40)
  43.     @ 13,00 SAY 'CITY     :' GET Y.CITY PICTURE DUPCHAR(33,20)
  44.     @ ROW(),COL()+3 SAY 'STATE :' GET Y.STATE PICTURE "UU" GETFILE MAILSTCK
  45.     @ ROW(),COL()+3 SAY 'ZIP :' GET Y.ZIP PICTURE "#####"
  46.     @ 15,00 SAY 'PHONE    :' GET Y.PHONE PICTURE "###-###-####"
  47.     READ GETNO Y.READNO
  48.     @ 24,00 
  49.  
  50. *****************
  51. * ADDRESS FUNCTION KEY SECTION 
  52. * F2=HELP  F3=QUIT  F7=SAVE  F8=ERASE
  53. *****************
  54. DO CASE
  55. **********
  56. * HELP
  57. **********
  58.    CASE LASTKEY()=8 OR LASTKEY()=188 | HELP ^H OR F2
  59.    Y.READNO = GETNO()
  60.    DO MAILADDH
  61.    LOOP
  62. **********
  63. *QUIT
  64. **********
  65.    CASE LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189 | QUIT ^Q OR F3
  66.       CLOSE ALL
  67.       RETURN
  68. **********
  69. * VALIDATE
  70. **********
  71.    CASE LASTKEY() = 19 .OR. LASTKEY() = 193 | SAVE SECTION ^S OR F7 
  72.          STORE F TO Y.RECBAD
  73.          LOOP
  74. **********
  75. * ERASE SCREEN
  76. **********
  77.    CASE LASTKEY() = 5 OR LASTKEY() = 194 | ERASE SCREEN ^E OR F8
  78.       DO MAILER
  79.       Y.READNO = 1
  80. **********
  81. * END CASES
  82. **********
  83.    OTHERWISE
  84. *************
  85. * ADDRESS VALADATION
  86. *************
  87.       STORE T TO Y.NOANSWER
  88.       STORE 'Y' TO Y.OK
  89.       DO WHILE Y.NOANSWER
  90.          @ 24,00 SAY 'IS ADDRESS OK (Y OR N) ?'   
  91.          @ 24,26 GET Y.OK
  92.          READ
  93.          IF LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189
  94.             CLOSE ALL
  95.             RETURN
  96.          ENDIF
  97.          DO CASE
  98.              CASE !(Y.OK) = 'Y'
  99.                 STORE F TO Y.RECBAD
  100.                 STORE F TO Y.NOANSWER
  101.                 STORE ' ' TO Y.OK
  102.                 @ 24,00
  103.              CASE !(Y.OK) = 'N'
  104.                STORE T TO Y.ADDRBAD
  105.                STORE F TO Y.NOANSWER
  106.                STORE ' ' TO Y.OK
  107.                @ 24,00
  108.                Y.READNO = 1
  109.             OTHERWISE
  110.                BEEP
  111.                STORE T TO Y.NOANSWER
  112.                STORE ' ' TO Y.OK
  113.                @ 24,00
  114.         ENDCASE
  115.     ENDDO
  116.     STORE T TO Y.NOANSWER
  117.   ENDCASE
  118. ENDDO | WHILE RECORD BAD
  119.    ************
  120.    * WRITE RECORD
  121.    ************
  122.    APPEND BLANK
  123.    REPLACE FIRST_NAME WITH Y.FIRST_NAME,LAST_NAME WITH Y.LAST_NAME
  124.    REPLACE COMPANY WITH Y.COMPANY, ADDRESS1 WITH Y.ADDRESS1
  125.    REPLACE ADDRESS2 WITH Y.ADDRESS2, CITY WITH Y.CITY, ZIP WITH Y.ZIP
  126.    REPLACE STATE WITH Y.STATE, PHONE WITH Y.PHONE
  127. ENDDO | WHILE T
  128.